package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工作计划对象 sys_work_plan
 *
 * @author ruoyi
 * @date 2025-08-30
 */
@Data
public class SysWorkPlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 计划ID */
    private Long planId;

    /** 项目ID，关联sys_project表 */
    @Excel(name = "项目ID，关联sys_project表")
    private Long projectId;

    /** 下周工作计划标题 */
    @Excel(name = "下周作业计划")
    private String nextWeekPlan;

    /** 风险等级 */
    @Excel(name = "风险等级")
    private String riskLevel;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际作业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualWorkTime;

    /** 完成情况 */
    @Excel(name = "完成情况")
    private String completionStatus;

    @Excel(name = "备注")
    private String notes;

    private String accumulateNum;

    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getNextWeekPlan() {
        return nextWeekPlan;
    }

    public void setNextWeekPlan(String nextWeekPlan) {
        this.nextWeekPlan = nextWeekPlan;
    }

    public String getRiskLevel() {
        return riskLevel;
    }

    public void setRiskLevel(String riskLevel) {
        this.riskLevel = riskLevel;
    }

    public Date getActualWorkTime() {
        return actualWorkTime;
    }

    public void setActualWorkTime(Date actualWorkTime) {
        this.actualWorkTime = actualWorkTime;
    }

    public void setCompletionStatus(String completionStatus) {
        this.completionStatus = completionStatus;
    }

    public String getCompletionStatus() {
        return completionStatus;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }
}
